package com.shanxi.cz.module.biz.controller.admin.ammeterbasicinfo.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import cn.idev.excel.annotation.*;

@Schema(description = "管理后台 - 电表基础信息 Response VO")
@Data
@ExcelIgnoreUnannotated
public class AmmeterBasicInfoRespVO {

    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "13416")
    @ExcelProperty("主键")
    private Integer id;

    @Schema(description = "安装区域", example = "张三")
    @ExcelProperty("安装区域")
    private String areaName;

    @Schema(description = "电表别名", example = "王五")
    @ExcelProperty("电表别名")
    private String ammeterName;

    @Schema(description = "电表通信地址")
    @ExcelProperty("电表通信地址")
    private String address;

    @Schema(description = "电压变比、电压互感器（PT）")
    @ExcelProperty("电压变比、电压互感器（PT）")
    private Double timesV;

    @Schema(description = "电流变比、电流互感器（CT）")
    @ExcelProperty("电流变比、电流互感器（CT）")
    private Double timesA;

    @Schema(description = "费率类型，单、多 (SingleRate :单费率（单相表1），多费率（其他0） ，与TypeName字段无关)")
    @ExcelProperty("费率类型，单、多 (SingleRate :单费率（单相表1），多费率（其他0） ，与TypeName字段无关)")
    private Integer singleRate;

    @Schema(description = "波特率 default(2400)")
    @ExcelProperty("波特率 default(2400)")
    private Integer baudrate;

    @Schema(description = "规约 -电表default(30)")
    @ExcelProperty("规约 -电表default(30)")
    private String protocol;

    @Schema(description = "跳合闸状态字段： 0 合闸，1 跳闸 电表：TripState （0 合闸-通电, 1 断开、跳闸）；")
    @ExcelProperty("跳合闸状态字段： 0 合闸，1 跳闸 电表：TripState （0 合闸-通电, 1 断开、跳闸）；")
    private Integer tripState;

    @Schema(description = "在线状态 1 正常 2 告警")
    @ExcelProperty("在线状态 1 正常 2 告警")
    private Integer onlineState;

    @Schema(description = "电表添加时间")
    @ExcelProperty("电表添加时间")
    private LocalDateTime addDate;

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("创建时间")
    private LocalDateTime createTime;

}
